[INFO] fetching crate yrs 0.17.1...
[INFO] checking yrs-0.17.1 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate yrs 0.17.1 into /workspace/builds/worker-6-tc1/source
[INFO] validating manifest of crates.io crate yrs 0.17.1 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate yrs 0.17.1
[INFO] finished tweaking crates.io crate yrs 0.17.1
[INFO] tweaked toml for crates.io crate yrs 0.17.1 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded str_indices v0.4.3
[INFO] [stderr]   Downloaded ropey v1.6.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7ff51a38b209a1c1aa0d668f7964bd070c8e93c942da70f67d79b7998af1df4c
[INFO] running `Command { std: "docker" "start" "-a" "7ff51a38b209a1c1aa0d668f7964bd070c8e93c942da70f67d79b7998af1df4c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7ff51a38b209a1c1aa0d668f7964bd070c8e93c942da70f67d79b7998af1df4c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7ff51a38b209a1c1aa0d668f7964bd070c8e93c942da70f67d79b7998af1df4c", kill_on_drop: false }`
[INFO] [stdout] 7ff51a38b209a1c1aa0d668f7964bd070c8e93c942da70f67d79b7998af1df4c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 264f2fbf0afd93440a968f369eea7192039d8eb10c30b179a0e7e542a15341d1
[INFO] running `Command { std: "docker" "start" "-a" "264f2fbf0afd93440a968f369eea7192039d8eb10c30b179a0e7e542a15341d1", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]    Compiling crossbeam-utils v0.8.19
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling libm v0.2.8
[INFO] [stderr]    Compiling rustix v0.38.31
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling cmake v0.1.50
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]     Checking linux-raw-sys v0.4.13
[INFO] [stderr]     Checking bitflags v2.4.2
[INFO] [stderr]     Checking either v1.10.0
[INFO] [stderr]     Checking half v2.4.0
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]     Checking anstyle v1.0.6
[INFO] [stderr]     Checking clap_lex v0.7.0
[INFO] [stderr]     Checking smallvec v1.13.1
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking fastrand v2.0.1
[INFO] [stderr]     Checking plotters-backend v0.3.5
[INFO] [stderr]     Checking clap_builder v4.5.1
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking regex-automata v0.4.5
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking plotters-svg v0.3.5
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]    Compiling libz-sys v1.1.15
[INFO] [stderr]     Checking smallstr v0.3.0
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking oorandom v11.1.3
[INFO] [stderr]     Checking str_indices v0.4.3
[INFO] [stderr]     Checking unarray v0.1.4
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking atomic_refcell v0.1.13
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]     Checking ropey v1.6.1
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]     Checking rayon v1.9.0
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]     Checking wait-timeout v0.2.0
[INFO] [stderr]     Checking is-terminal v0.4.12
[INFO] [stderr]     Checking plotters v0.3.5
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking tempfile v3.10.1
[INFO] [stderr]     Checking clap v4.5.1
[INFO] [stderr]     Checking regex v1.10.3
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_xorshift v0.3.0
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking rusty-fork v0.3.0
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking proptest v1.4.0
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]    Compiling thiserror-impl v1.0.57
[INFO] [stderr]     Checking thiserror v1.0.57
[INFO] [stderr]    Compiling proptest-derive v0.3.0
[INFO] [stderr]     Checking flate2 v1.0.28
[INFO] [stderr]     Checking serde_json v1.0.114
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking yrs v0.17.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `TypeRef`
[INFO] [stdout]  --> src/transaction.rs:8:74
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::types::{Branch, BranchPtr, Event, Events, SharedRef, TypePtr, TypeRef, Value};
[INFO] [stdout]   |                                                                          ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypeRef`
[INFO] [stdout]   --> src/update.rs:10:29
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::types::{TypePtr, TypeRef};
[INFO] [stdout]    |                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stdout] warning: value assigned to `left` is never read
[INFO] [stdout]    --> src/block.rs:153:17
[INFO] [stdout]     |
[INFO] [stdout] 153 |         let mut left = None;
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ptr`
[INFO] [stdout]    --> src/block.rs:630:33
[INFO] [stdout]     |
[INFO] [stdout] 630 | ...                   let ptr = if this.info.is_deleted() {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_ptr`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `prev_start` is assigned to, but never used
[INFO] [stdout]    --> src/id_set.rs:171:29
[INFO] [stdout]     |
[INFO] [stdout] 171 |                     let mut prev_start = r.start;
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_prev_start` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `prev_start` is never read
[INFO] [stdout]    --> src/id_set.rs:177:25
[INFO] [stdout]     |
[INFO] [stdout] 177 |                         prev_start = r.start;
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/array.rs:158:31
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn len<T: ReadTxn>(&self, txn: &T) -> u32 {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/map.rs:136:31
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn len<T: ReadTxn>(&self, txn: &T) -> u32 {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/map.rs:227:40
[INFO] [stdout]     |
[INFO] [stdout] 227 |     fn contains_key<T: ReadTxn>(&self, txn: &T, key: &str) -> bool {
[INFO] [stdout]     |                                        ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/text.rs:130:38
[INFO] [stdout]     |
[INFO] [stdout] 130 |     fn get_string<T: ReadTxn>(&self, txn: &T) -> String {
[INFO] [stdout]     |                                      ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/text.rs:170:31
[INFO] [stdout]     |
[INFO] [stdout] 170 |     fn len<T: ReadTxn>(&self, txn: &T) -> u32 {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/text.rs:408:29
[INFO] [stdout]     |
[INFO] [stdout] 408 |     fn diff<T, D, F>(&self, txn: &T, compute_ychange: F) -> Vec<Diff<D>>
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/xml.rs:469:38
[INFO] [stdout]     |
[INFO] [stdout] 469 |     fn get_string<T: ReadTxn>(&self, txn: &T) -> String {
[INFO] [stdout]     |                                      ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/xml.rs:817:31
[INFO] [stdout]     |
[INFO] [stdout] 817 |     fn len<T: ReadTxn>(&self, txn: &T) -> u32 {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/xml.rs:875:31
[INFO] [stdout]     |
[INFO] [stdout] 875 |     fn get<T: ReadTxn>(&self, txn: &T, index: u32) -> Option<XmlNode> {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_ref`
[INFO] [stdout]    --> src/types/mod.rs:259:17
[INFO] [stdout]     |
[INFO] [stdout] 259 |             let type_ref = self.type_ref();
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `branch`
[INFO] [stdout]    --> src/update.rs:351:39
[INFO] [stdout]     |
[INFO] [stdout] 351 |                     ItemContent::Type(branch) => {
[INFO] [stdout]     |                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `read`
[INFO] [stdout]    --> src/iter.rs:511:21
[INFO] [stdout]     |
[INFO] [stdout] 511 |                 let read = item.content.read(slice.start as usize, b.as_mut_slice());
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `try_trim`, `is_deleted`, `is_countable`, `contains_id`, `right`, and `left` are never used
[INFO] [stdout]    --> src/block.rs:833:12
[INFO] [stdout]     |
[INFO] [stdout] 811 | impl BlockSlice {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 833 |     pub fn try_trim(&mut self, from: &ID, to: &ID) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 874 |     pub fn is_deleted(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 879 |     pub fn is_countable(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 884 |     pub fn contains_id(&self, id: &ID) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 960 |     pub fn right(&self) -> Option<BlockSlice> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 983 |     pub fn left(&self) -> Option<BlockSlice> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `with_capacity` is never used
[INFO] [stdout]    --> src/block_store.rs:212:12
[INFO] [stdout]     |
[INFO] [stdout] 206 | impl ClientBlockList {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn with_capacity(capacity: usize) -> ClientBlockList {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `contains` and `get_client_blocks_with_capacity_mut` are never used
[INFO] [stdout]    --> src/block_store.rs:385:12
[INFO] [stdout]     |
[INFO] [stdout] 370 | impl BlockStore {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 385 |     pub fn contains(&self, id: &ID) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 476 |     pub(crate) fn get_client_blocks_with_capacity_mut(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/block_store.rs:543:8
[INFO] [stdout]     |
[INFO] [stdout] 542 | impl<'a> Blocks<'a> {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 543 |     fn new(update: &'a BlockStore) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `link` and `unlink` are never used
[INFO] [stdout]    --> src/transaction.rs:969:8
[INFO] [stdout]     |
[INFO] [stdout] 292 | impl<'doc> TransactionMut<'doc> {
[INFO] [stdout]     | ------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 969 |     fn link(&mut self, mut source: BlockPtr, link: BranchPtr) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 977 |     pub(crate) fn unlink(&mut self, mut source: BlockPtr, link: BranchPtr) {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `remove_at` is never used
[INFO] [stdout]    --> src/types/mod.rs:615:19
[INFO] [stdout]     |
[INFO] [stdout] 458 | impl Branch {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 615 |     pub(crate) fn remove_at(&self, txn: &mut TransactionMut, index: u32, len: u32) -> u32 {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from` is never used
[INFO] [stdout]     --> src/types/mod.rs:1064:12
[INFO] [stdout]      |
[INFO] [stdout] 1060 | / impl<'a, T: ReadTxn> Entries<'a, T, T>
[INFO] [stdout] 1061 | | where
[INFO] [stdout] 1062 | |     T: Borrow<T> + ReadTxn,
[INFO] [stdout]      | |___________________________- associated function in this implementation
[INFO] [stdout] 1063 |   {
[INFO] [stdout] 1064 |       pub fn from(source: &'a HashMap<Arc<str>, BlockPtr>, txn: T) -> Self {
[INFO] [stdout]      |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `blocks` is never used
[INFO] [stdout]   --> src/update.rs:42:19
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl UpdateBlocks {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub(crate) fn blocks(&self) -> Blocks<'_> {
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_empty` is never used
[INFO] [stdout]   --> src/update.rs:98:19
[INFO] [stdout]    |
[INFO] [stdout] 93 | impl Update {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub(crate) fn is_empty(&self) -> bool {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into_block` is never used
[INFO] [stdout]    --> src/update.rs:842:12
[INFO] [stdout]     |
[INFO] [stdout] 777 | impl BlockCarrier {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 842 |     pub fn into_block(self) -> Option<Box<Block>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/update.rs:954:8
[INFO] [stdout]     |
[INFO] [stdout] 953 | impl<'a> Blocks<'a> {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 954 |     fn new(update: &'a UpdateBlocks) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `move_to`, `forward`, `backward`, and `values` are never used
[INFO] [stdout]    --> src/block_iter.rs:73:12
[INFO] [stdout]     |
[INFO] [stdout] 23  | impl BlockIter {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 73  |     pub fn move_to(&mut self, index: u32, txn: &mut TransactionMut) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99  |     pub fn forward<T: ReadTxn>(&mut self, txn: &T, len: u32) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn backward<T: ReadTxn>(&mut self, txn: &mut T, mut len: u32) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 521 |     pub fn values<'a, 'txn, T: ReadTxn>(
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/block_iter.rs:535:8
[INFO] [stdout]     |
[INFO] [stdout] 534 | impl<'a, 'txn> Values<'a, 'txn> {
[INFO] [stdout]     | ------------------------------- associated function in this implementation
[INFO] [stdout] 535 |     fn new(iter: &'a mut BlockIter, txn: &'txn mut TransactionMut<'txn>) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BlockIterator` is never used
[INFO] [stdout]  --> src/iter.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) trait BlockIterator: TxnIterator<Item = BlockPtr> + Sized {
[INFO] [stdout]   |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BlockSliceIterator` is never used
[INFO] [stdout]   --> src/iter.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) trait BlockSliceIterator: TxnIterator<Item = BlockSlice> + Sized {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/iter.rs:312:8
[INFO] [stdout]     |
[INFO] [stdout] 308 | / impl<I> RangeIter<I>
[INFO] [stdout] 309 | | where
[INFO] [stdout] 310 | |     I: TxnIterator<Item = BlockPtr>,
[INFO] [stdout]     | |____________________________________- associated function in this implementation
[INFO] [stdout] 311 |   {
[INFO] [stdout] 312 |       fn new(iter: I, start: StickyIndex, end: StickyIndex) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Opened` is never constructed
[INFO] [stdout]    --> src/iter.rs:431:5
[INFO] [stdout]     |
[INFO] [stdout] 429 | enum RangeIterState {
[INFO] [stdout]     |      -------------- variant in this enum
[INFO] [stdout] 430 |     /// Ranged iterator position hasn't reach chosen ID range yet.
[INFO] [stdout] 431 |     Opened,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RangeIterState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/iter.rs:446:8
[INFO] [stdout]     |
[INFO] [stdout] 445 | impl<I> Values<I> {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 446 |     fn new(iter: I) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/block_iter.rs:438:12
[INFO] [stdout]     |
[INFO] [stdout] 438 |         if len < 0 {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 37 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> benches/serialization.rs:156:13
[INFO] [stdout]     |
[INFO] [stdout] 156 |             black_box(Any::from_json(&roundtrip));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 156 |             let _ = black_box(Any::from_json(&roundtrip));
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> benches/serialization.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |             black_box(Any::from_json(&any_json));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 169 |             let _ = black_box(Any::from_json(&any_json));
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Delete` is never constructed
[INFO] [stdout]   --> benches/benches.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | enum ArrayOp {
[INFO] [stdout]    |      ------- variant in this enum
[INFO] [stdout] 21 |     Insert(u32, Vec<u32>),
[INFO] [stdout] 22 |     Delete(u32, u32),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `b1_6` is never used
[INFO] [stdout]   --> benches/benches.rs:91:4
[INFO] [stdout]    |
[INFO] [stdout] 91 | fn b1_6<R: RngCore>(rng: &mut R, size: usize) -> Vec<TextOp> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypeRef`
[INFO] [stdout]  --> src/transaction.rs:8:74
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::types::{Branch, BranchPtr, Event, Events, SharedRef, TypePtr, TypeRef, Value};
[INFO] [stdout]   |                                                                          ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypeRef`
[INFO] [stdout]   --> src/update.rs:10:29
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::types::{TypePtr, TypeRef};
[INFO] [stdout]    |                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `left` is never read
[INFO] [stdout]    --> src/block.rs:153:17
[INFO] [stdout]     |
[INFO] [stdout] 153 |         let mut left = None;
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ptr`
[INFO] [stdout]    --> src/block.rs:630:33
[INFO] [stdout]     |
[INFO] [stdout] 630 | ...                   let ptr = if this.info.is_deleted() {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_ptr`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `prev_start` is assigned to, but never used
[INFO] [stdout]    --> src/id_set.rs:171:29
[INFO] [stdout]     |
[INFO] [stdout] 171 |                     let mut prev_start = r.start;
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_prev_start` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `prev_start` is never read
[INFO] [stdout]    --> src/id_set.rs:177:25
[INFO] [stdout]     |
[INFO] [stdout] 177 |                         prev_start = r.start;
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/array.rs:158:31
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn len<T: ReadTxn>(&self, txn: &T) -> u32 {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/map.rs:136:31
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn len<T: ReadTxn>(&self, txn: &T) -> u32 {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/map.rs:227:40
[INFO] [stdout]     |
[INFO] [stdout] 227 |     fn contains_key<T: ReadTxn>(&self, txn: &T, key: &str) -> bool {
[INFO] [stdout]     |                                        ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/text.rs:130:38
[INFO] [stdout]     |
[INFO] [stdout] 130 |     fn get_string<T: ReadTxn>(&self, txn: &T) -> String {
[INFO] [stdout]     |                                      ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/text.rs:170:31
[INFO] [stdout]     |
[INFO] [stdout] 170 |     fn len<T: ReadTxn>(&self, txn: &T) -> u32 {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/text.rs:408:29
[INFO] [stdout]     |
[INFO] [stdout] 408 |     fn diff<T, D, F>(&self, txn: &T, compute_ychange: F) -> Vec<Diff<D>>
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/xml.rs:469:38
[INFO] [stdout]     |
[INFO] [stdout] 469 |     fn get_string<T: ReadTxn>(&self, txn: &T) -> String {
[INFO] [stdout]     |                                      ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/xml.rs:817:31
[INFO] [stdout]     |
[INFO] [stdout] 817 |     fn len<T: ReadTxn>(&self, txn: &T) -> u32 {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/xml.rs:875:31
[INFO] [stdout]     |
[INFO] [stdout] 875 |     fn get<T: ReadTxn>(&self, txn: &T, index: u32) -> Option<XmlNode> {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_ref`
[INFO] [stdout]    --> src/types/mod.rs:259:17
[INFO] [stdout]     |
[INFO] [stdout] 259 |             let type_ref = self.type_ref();
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `branch`
[INFO] [stdout]    --> src/update.rs:351:39
[INFO] [stdout]     |
[INFO] [stdout] 351 |                     ItemContent::Type(branch) => {
[INFO] [stdout]     |                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytes_v2`
[INFO] [stdout]     --> src/update.rs:1233:13
[INFO] [stdout]      |
[INFO] [stdout] 1233 |         let bytes_v2 = update_v1.encode_v2();
[INFO] [stdout]      |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes_v2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `read`
[INFO] [stdout]    --> src/iter.rs:511:21
[INFO] [stdout]     |
[INFO] [stdout] 511 |                 let read = item.content.read(slice.start as usize, b.as_mut_slice());
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `try_trim`, `is_deleted`, `is_countable`, `contains_id`, `right`, and `left` are never used
[INFO] [stdout]    --> src/block.rs:833:12
[INFO] [stdout]     |
[INFO] [stdout] 811 | impl BlockSlice {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 833 |     pub fn try_trim(&mut self, from: &ID, to: &ID) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 874 |     pub fn is_deleted(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 879 |     pub fn is_countable(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 884 |     pub fn contains_id(&self, id: &ID) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 960 |     pub fn right(&self) -> Option<BlockSlice> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 983 |     pub fn left(&self) -> Option<BlockSlice> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `contains` is never used
[INFO] [stdout]    --> src/block_store.rs:385:12
[INFO] [stdout]     |
[INFO] [stdout] 370 | impl BlockStore {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 385 |     pub fn contains(&self, id: &ID) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/block_store.rs:543:8
[INFO] [stdout]     |
[INFO] [stdout] 542 | impl<'a> Blocks<'a> {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 543 |     fn new(update: &'a BlockStore) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `link` and `unlink` are never used
[INFO] [stdout]    --> src/transaction.rs:969:8
[INFO] [stdout]     |
[INFO] [stdout] 292 | impl<'doc> TransactionMut<'doc> {
[INFO] [stdout]     | ------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 969 |     fn link(&mut self, mut source: BlockPtr, link: BranchPtr) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 977 |     pub(crate) fn unlink(&mut self, mut source: BlockPtr, link: BranchPtr) {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `remove_at` is never used
[INFO] [stdout]    --> src/types/mod.rs:615:19
[INFO] [stdout]     |
[INFO] [stdout] 458 | impl Branch {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 615 |     pub(crate) fn remove_at(&self, txn: &mut TransactionMut, index: u32, len: u32) -> u32 {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from` is never used
[INFO] [stdout]     --> src/types/mod.rs:1064:12
[INFO] [stdout]      |
[INFO] [stdout] 1060 | / impl<'a, T: ReadTxn> Entries<'a, T, T>
[INFO] [stdout] 1061 | | where
[INFO] [stdout] 1062 | |     T: Borrow<T> + ReadTxn,
[INFO] [stdout]      | |___________________________- associated function in this implementation
[INFO] [stdout] 1063 |   {
[INFO] [stdout] 1064 |       pub fn from(source: &'a HashMap<Arc<str>, BlockPtr>, txn: T) -> Self {
[INFO] [stdout]      |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_empty` is never used
[INFO] [stdout]   --> src/update.rs:98:19
[INFO] [stdout]    |
[INFO] [stdout] 93 | impl Update {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub(crate) fn is_empty(&self) -> bool {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into_block` is never used
[INFO] [stdout]    --> src/update.rs:842:12
[INFO] [stdout]     |
[INFO] [stdout] 777 | impl BlockCarrier {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 842 |     pub fn into_block(self) -> Option<Box<Block>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `move_to`, `forward`, `backward`, and `values` are never used
[INFO] [stdout]    --> src/block_iter.rs:73:12
[INFO] [stdout]     |
[INFO] [stdout] 23  | impl BlockIter {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 73  |     pub fn move_to(&mut self, index: u32, txn: &mut TransactionMut) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99  |     pub fn forward<T: ReadTxn>(&mut self, txn: &T, len: u32) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn backward<T: ReadTxn>(&mut self, txn: &mut T, mut len: u32) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 521 |     pub fn values<'a, 'txn, T: ReadTxn>(
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/block_iter.rs:535:8
[INFO] [stdout]     |
[INFO] [stdout] 534 | impl<'a, 'txn> Values<'a, 'txn> {
[INFO] [stdout]     | ------------------------------- associated function in this implementation
[INFO] [stdout] 535 |     fn new(iter: &'a mut BlockIter, txn: &'txn mut TransactionMut<'txn>) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `rng`, `get`, `connect`, `disconnect_all`, and `peers` are never used
[INFO] [stdout]    --> src/test_utils.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 87  | impl TestConnector {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn rng(&self) -> RefMut<StdRng> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn get(&self, client_id: &ClientID) -> Option<&TestPeer> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn connect(&self, client_id: ClientID) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 236 |     pub fn disconnect_all(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 440 |     pub fn peers(&self) -> Peers {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `doc_mut` is never used
[INFO] [stdout]    --> src/test_utils.rs:480:12
[INFO] [stdout]     |
[INFO] [stdout] 463 | impl TestPeer {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 480 |     pub fn doc_mut(&mut self) -> &mut Doc {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `len`, `is_empty`, `chars_to_bytes`, and `patches` are never used
[INFO] [stdout]   --> src/tests/edit_traces.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl TestData {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 38 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn chars_to_bytes(&self) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn patches(&self) -> impl Iterator<Item = &TestPatch> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/block_iter.rs:438:12
[INFO] [stdout]     |
[INFO] [stdout] 438 |         if len < 0 {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 33 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.91s
[INFO] running `Command { std: "docker" "inspect" "264f2fbf0afd93440a968f369eea7192039d8eb10c30b179a0e7e542a15341d1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "264f2fbf0afd93440a968f369eea7192039d8eb10c30b179a0e7e542a15341d1", kill_on_drop: false }`
[INFO] [stdout] 264f2fbf0afd93440a968f369eea7192039d8eb10c30b179a0e7e542a15341d1
[INFO] checking yrs-0.17.1 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate yrs 0.17.1 into /workspace/builds/worker-6-tc2/source
[INFO] validating manifest of crates.io crate yrs 0.17.1 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate yrs 0.17.1
[INFO] finished tweaking crates.io crate yrs 0.17.1
[INFO] tweaked toml for crates.io crate yrs 0.17.1 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 63373fe62d4809a8786a4b35cca15d0e455b084f0d625ef3e698cb1649484c74
[INFO] running `Command { std: "docker" "start" "-a" "63373fe62d4809a8786a4b35cca15d0e455b084f0d625ef3e698cb1649484c74", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "63373fe62d4809a8786a4b35cca15d0e455b084f0d625ef3e698cb1649484c74", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "63373fe62d4809a8786a4b35cca15d0e455b084f0d625ef3e698cb1649484c74", kill_on_drop: false }`
[INFO] [stdout] 63373fe62d4809a8786a4b35cca15d0e455b084f0d625ef3e698cb1649484c74
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] caced646cd1e775b846520d9cb5e437922989b9fc3c9b711942e92bacb08661c
[INFO] running `Command { std: "docker" "start" "-a" "caced646cd1e775b846520d9cb5e437922989b9fc3c9b711942e92bacb08661c", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling crossbeam-utils v0.8.19
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling libm v0.2.8
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling rustix v0.38.31
[INFO] [stderr]     Checking bitflags v2.4.2
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling cmake v0.1.50
[INFO] [stderr]     Checking either v1.10.0
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]     Checking linux-raw-sys v0.4.13
[INFO] [stderr]     Checking half v2.4.0
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]     Checking clap_lex v0.7.0
[INFO] [stderr]     Checking smallvec v1.13.1
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]     Checking anstyle v1.0.6
[INFO] [stderr]     Checking fastrand v2.0.1
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking plotters-backend v0.3.5
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking regex-automata v0.4.5
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking clap_builder v4.5.1
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]    Compiling libz-sys v1.1.15
[INFO] [stderr]     Checking plotters-svg v0.3.5
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking smallstr v0.3.0
[INFO] [stderr]     Checking atomic_refcell v0.1.13
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking unarray v0.1.4
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking str_indices v0.4.3
[INFO] [stderr]     Checking oorandom v11.1.3
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]     Checking ropey v1.6.1
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]     Checking rayon v1.9.0
[INFO] [stderr]     Checking plotters v0.3.5
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]     Checking wait-timeout v0.2.0
[INFO] [stderr]     Checking is-terminal v0.4.12
[INFO] [stderr]     Checking regex v1.10.3
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_xorshift v0.3.0
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking clap v4.5.1
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking tempfile v3.10.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking rusty-fork v0.3.0
[INFO] [stderr]     Checking proptest v1.4.0
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]    Compiling thiserror-impl v1.0.57
[INFO] [stderr]     Checking thiserror v1.0.57
[INFO] [stderr]    Compiling proptest-derive v0.3.0
[INFO] [stderr]     Checking serde_json v1.0.114
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking flate2 v1.0.28
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking yrs v0.17.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]     --> src/block.rs:1951:26
[INFO] [stdout]      |
[INFO] [stdout] 1951 |                 for i in start..=end {
[INFO] [stdout]      |                          ^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]     --> src/block.rs:1964:26
[INFO] [stdout]      |
[INFO] [stdout] 1964 |                 for i in start..=end {
[INFO] [stdout]      |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/id_set.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 |         Ok(clock..(clock + len))
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/id_set.rs:61:63
[INFO] [stdout]    |
[INFO] [stdout] 61 |             IdRange::Continuous(range) => IdRange::Continuous(0..range.start),
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/id_set.rs:67:34
[INFO] [stdout]    |
[INFO] [stdout] 67 |                         inv.push(start..range.start);
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/id_set.rs:72:46
[INFO] [stdout]    |
[INFO] [stdout] 72 |                     0 => IdRange::Continuous(0..0),
[INFO] [stdout]    |                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 |         IdRange::Continuous(0..0)
[INFO] [stdout]     |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:366:21
[INFO] [stdout]     |
[INFO] [stdout] 366 |         let range = id.clock..(id.clock + len);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:458:34
[INFO] [stdout]     |
[INFO] [stdout] 458 |                     deletes.push(start..end);
[INFO] [stdout]     |                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/store.rs:170:22
[INFO] [stdout]     |
[INFO] [stdout] 170 |             for i in 0..last_idx {
[INFO] [stdout]     |                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/store.rs:222:22
[INFO] [stdout]     |
[INFO] [stdout] 222 |             for i in (start + 1)..blocks.len() {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypeRef`
[INFO] [stdout]  --> src/transaction.rs:8:74
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::types::{Branch, BranchPtr, Event, Events, SharedRef, TypePtr, TypeRef, Value};
[INFO] [stdout]   |                                                                          ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/types/text.rs:577:53
[INFO] [stdout]     |
[INFO] [stdout] 577 | ...                   let slice = &s.as_str()[start_offset as usize..];
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypeRef`
[INFO] [stdout]   --> src/update.rs:10:29
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::types::{TypePtr, TypeRef};
[INFO] [stdout]    |                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/update.rs:517:22
[INFO] [stdout]     |
[INFO] [stdout] 517 |             for i in 1..blocks.len() {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/update.rs:712:18
[INFO] [stdout]     |
[INFO] [stdout] 712 |         for _ in 0..clients_len {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/update.rs:722:22
[INFO] [stdout]     |
[INFO] [stdout] 722 |             for _ in 0..blocks_len {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/updates/decoder.rs:188:29
[INFO] [stdout]     |
[INFO] [stdout] 188 |         Ok(&self.cursor.buf[self.cursor.next..])
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/updates/decoder.rs:227:23
[INFO] [stdout]     |
[INFO] [stdout] 227 |             buf: &buf[idx..],
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/updates/decoder.rs:268:30
[INFO] [stdout]     |
[INFO] [stdout] 268 |             let slice = &buf[start..end];
[INFO] [stdout]     |                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/updates/decoder.rs:365:29
[INFO] [stdout]     |
[INFO] [stdout] 365 |         Ok(&self.cursor.buf[self.cursor.next..])
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/updates/decoder.rs:489:31
[INFO] [stdout]     |
[INFO] [stdout] 489 |         let start = &self.buf[self.pos..];
[INFO] [stdout]     |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/any.rs:64:26
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 for _ in 0..len {
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/any.rs:74:26
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 for _ in 0..len {
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/block_iter.rs:387:71
[INFO] [stdout]     |
[INFO] [stdout] 387 | ...                   .read(self.rel as usize, &mut buf[read as usize..])
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/encoding/read.rs:50:35
[INFO] [stdout]    |
[INFO] [stdout] 50 |             let slice = &self.buf[self.next..(self.next + len)];
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/undo.rs:137:48
[INFO] [stdout]     |
[INFO] [stdout] 137 |             for item in inner.redo_stack.drain(0..len) {
[INFO] [stdout]     |                                                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/undo.rs:302:45
[INFO] [stdout]     |
[INFO] [stdout] 302 |         for item in self.0.undo_stack.drain(0..len) {
[INFO] [stdout]     |                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/undo.rs:307:45
[INFO] [stdout]     |
[INFO] [stdout] 307 |         for item in self.0.redo_stack.drain(0..len) {
[INFO] [stdout]     |                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `left` is never read
[INFO] [stdout]    --> src/block.rs:153:17
[INFO] [stdout]     |
[INFO] [stdout] 153 |         let mut left = None;
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ptr`
[INFO] [stdout]    --> src/block.rs:630:33
[INFO] [stdout]     |
[INFO] [stdout] 630 | ...                   let ptr = if this.info.is_deleted() {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_ptr`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `prev_start` is assigned to, but never used
[INFO] [stdout]    --> src/id_set.rs:171:29
[INFO] [stdout]     |
[INFO] [stdout] 171 |                     let mut prev_start = r.start;
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_prev_start` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `prev_start` is never read
[INFO] [stdout]    --> src/id_set.rs:177:25
[INFO] [stdout]     |
[INFO] [stdout] 177 |                         prev_start = r.start;
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/array.rs:158:31
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn len<T: ReadTxn>(&self, txn: &T) -> u32 {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/map.rs:136:31
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn len<T: ReadTxn>(&self, txn: &T) -> u32 {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/map.rs:227:40
[INFO] [stdout]     |
[INFO] [stdout] 227 |     fn contains_key<T: ReadTxn>(&self, txn: &T, key: &str) -> bool {
[INFO] [stdout]     |                                        ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/text.rs:130:38
[INFO] [stdout]     |
[INFO] [stdout] 130 |     fn get_string<T: ReadTxn>(&self, txn: &T) -> String {
[INFO] [stdout]     |                                      ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/text.rs:170:31
[INFO] [stdout]     |
[INFO] [stdout] 170 |     fn len<T: ReadTxn>(&self, txn: &T) -> u32 {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/text.rs:408:29
[INFO] [stdout]     |
[INFO] [stdout] 408 |     fn diff<T, D, F>(&self, txn: &T, compute_ychange: F) -> Vec<Diff<D>>
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/xml.rs:469:38
[INFO] [stdout]     |
[INFO] [stdout] 469 |     fn get_string<T: ReadTxn>(&self, txn: &T) -> String {
[INFO] [stdout]     |                                      ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/xml.rs:817:31
[INFO] [stdout]     |
[INFO] [stdout] 817 |     fn len<T: ReadTxn>(&self, txn: &T) -> u32 {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/xml.rs:875:31
[INFO] [stdout]     |
[INFO] [stdout] 875 |     fn get<T: ReadTxn>(&self, txn: &T, index: u32) -> Option<XmlNode> {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_ref`
[INFO] [stdout]    --> src/types/mod.rs:259:17
[INFO] [stdout]     |
[INFO] [stdout] 259 |             let type_ref = self.type_ref();
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `branch`
[INFO] [stdout]    --> src/update.rs:351:39
[INFO] [stdout]     |
[INFO] [stdout] 351 |                     ItemContent::Type(branch) => {
[INFO] [stdout]     |                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `read`
[INFO] [stdout]    --> src/iter.rs:511:21
[INFO] [stdout]     |
[INFO] [stdout] 511 |                 let read = item.content.read(slice.start as usize, b.as_mut_slice());
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `try_trim`, `is_deleted`, `is_countable`, `contains_id`, `right`, and `left` are never used
[INFO] [stdout]    --> src/block.rs:833:12
[INFO] [stdout]     |
[INFO] [stdout] 811 | impl BlockSlice {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 833 |     pub fn try_trim(&mut self, from: &ID, to: &ID) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 874 |     pub fn is_deleted(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 879 |     pub fn is_countable(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 884 |     pub fn contains_id(&self, id: &ID) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 960 |     pub fn right(&self) -> Option<BlockSlice> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 983 |     pub fn left(&self) -> Option<BlockSlice> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `with_capacity` is never used
[INFO] [stdout]    --> src/block_store.rs:212:12
[INFO] [stdout]     |
[INFO] [stdout] 206 | impl ClientBlockList {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn with_capacity(capacity: usize) -> ClientBlockList {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `contains` and `get_client_blocks_with_capacity_mut` are never used
[INFO] [stdout]    --> src/block_store.rs:385:12
[INFO] [stdout]     |
[INFO] [stdout] 370 | impl BlockStore {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 385 |     pub fn contains(&self, id: &ID) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 476 |     pub(crate) fn get_client_blocks_with_capacity_mut(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/block_store.rs:543:8
[INFO] [stdout]     |
[INFO] [stdout] 542 | impl<'a> Blocks<'a> {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 543 |     fn new(update: &'a BlockStore) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `link` and `unlink` are never used
[INFO] [stdout]    --> src/transaction.rs:969:8
[INFO] [stdout]     |
[INFO] [stdout] 292 | impl<'doc> TransactionMut<'doc> {
[INFO] [stdout]     | ------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 969 |     fn link(&mut self, mut source: BlockPtr, link: BranchPtr) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 977 |     pub(crate) fn unlink(&mut self, mut source: BlockPtr, link: BranchPtr) {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `remove_at` is never used
[INFO] [stdout]    --> src/types/mod.rs:615:19
[INFO] [stdout]     |
[INFO] [stdout] 458 | impl Branch {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 615 |     pub(crate) fn remove_at(&self, txn: &mut TransactionMut, index: u32, len: u32) -> u32 {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from` is never used
[INFO] [stdout]     --> src/types/mod.rs:1064:12
[INFO] [stdout]      |
[INFO] [stdout] 1060 | / impl<'a, T: ReadTxn> Entries<'a, T, T>
[INFO] [stdout] 1061 | | where
[INFO] [stdout] 1062 | |     T: Borrow<T> + ReadTxn,
[INFO] [stdout]      | |___________________________- associated function in this implementation
[INFO] [stdout] 1063 |   {
[INFO] [stdout] 1064 |       pub fn from(source: &'a HashMap<Arc<str>, BlockPtr>, txn: T) -> Self {
[INFO] [stdout]      |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `blocks` is never used
[INFO] [stdout]   --> src/update.rs:42:19
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl UpdateBlocks {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub(crate) fn blocks(&self) -> Blocks<'_> {
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_empty` is never used
[INFO] [stdout]   --> src/update.rs:98:19
[INFO] [stdout]    |
[INFO] [stdout] 93 | impl Update {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub(crate) fn is_empty(&self) -> bool {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into_block` is never used
[INFO] [stdout]    --> src/update.rs:842:12
[INFO] [stdout]     |
[INFO] [stdout] 777 | impl BlockCarrier {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 842 |     pub fn into_block(self) -> Option<Box<Block>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/update.rs:954:8
[INFO] [stdout]     |
[INFO] [stdout] 953 | impl<'a> Blocks<'a> {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 954 |     fn new(update: &'a UpdateBlocks) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `move_to`, `forward`, `backward`, and `values` are never used
[INFO] [stdout]    --> src/block_iter.rs:73:12
[INFO] [stdout]     |
[INFO] [stdout] 23  | impl BlockIter {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 73  |     pub fn move_to(&mut self, index: u32, txn: &mut TransactionMut) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99  |     pub fn forward<T: ReadTxn>(&mut self, txn: &T, len: u32) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn backward<T: ReadTxn>(&mut self, txn: &mut T, mut len: u32) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 521 |     pub fn values<'a, 'txn, T: ReadTxn>(
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/block_iter.rs:535:8
[INFO] [stdout]     |
[INFO] [stdout] 534 | impl<'a, 'txn> Values<'a, 'txn> {
[INFO] [stdout]     | ------------------------------- associated function in this implementation
[INFO] [stdout] 535 |     fn new(iter: &'a mut BlockIter, txn: &'txn mut TransactionMut<'txn>) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BlockIterator` is never used
[INFO] [stdout]  --> src/iter.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) trait BlockIterator: TxnIterator<Item = BlockPtr> + Sized {
[INFO] [stdout]   |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BlockSliceIterator` is never used
[INFO] [stdout]   --> src/iter.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) trait BlockSliceIterator: TxnIterator<Item = BlockSlice> + Sized {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/iter.rs:312:8
[INFO] [stdout]     |
[INFO] [stdout] 308 | / impl<I> RangeIter<I>
[INFO] [stdout] 309 | | where
[INFO] [stdout] 310 | |     I: TxnIterator<Item = BlockPtr>,
[INFO] [stdout]     | |____________________________________- associated function in this implementation
[INFO] [stdout] 311 |   {
[INFO] [stdout] 312 |       fn new(iter: I, start: StickyIndex, end: StickyIndex) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Opened` is never constructed
[INFO] [stdout]    --> src/iter.rs:431:5
[INFO] [stdout]     |
[INFO] [stdout] 429 | enum RangeIterState {
[INFO] [stdout]     |      -------------- variant in this enum
[INFO] [stdout] 430 |     /// Ranged iterator position hasn't reach chosen ID range yet.
[INFO] [stdout] 431 |     Opened,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RangeIterState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/iter.rs:446:8
[INFO] [stdout]     |
[INFO] [stdout] 445 | impl<I> Values<I> {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 446 |     fn new(iter: I) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `Range` type
[INFO] [stdout]   --> src/id_set.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Encode for Range<u32> {
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D trait-impl-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `Range` type
[INFO] [stdout]   --> src/id_set.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl Decode for Range<u32> {
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/block_iter.rs:438:12
[INFO] [stdout]     |
[INFO] [stdout] 438 |         if len < 0 {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors; 64 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `yrs` (lib) due to 3 previous errors; 64 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]     --> src/block.rs:1951:26
[INFO] [stdout]      |
[INFO] [stdout] 1951 |                 for i in start..=end {
[INFO] [stdout]      |                          ^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]     --> src/block.rs:1964:26
[INFO] [stdout]      |
[INFO] [stdout] 1964 |                 for i in start..=end {
[INFO] [stdout]      |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/doc.rs:1295:18
[INFO] [stdout]      |
[INFO] [stdout] 1295 |         for _ in 0..INPUT.len() as u32 {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/doc.rs:1299:30
[INFO] [stdout]      |
[INFO] [stdout] 1299 |         let expected = vec![(0..1), (1..2), (2..3), (3..4), (4..5)];
[INFO] [stdout]      |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/doc.rs:1299:38
[INFO] [stdout]      |
[INFO] [stdout] 1299 |         let expected = vec![(0..1), (1..2), (2..3), (3..4), (4..5)];
[INFO] [stdout]      |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/doc.rs:1299:46
[INFO] [stdout]      |
[INFO] [stdout] 1299 |         let expected = vec![(0..1), (1..2), (2..3), (3..4), (4..5)];
[INFO] [stdout]      |                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/doc.rs:1299:54
[INFO] [stdout]      |
[INFO] [stdout] 1299 |         let expected = vec![(0..1), (1..2), (2..3), (3..4), (4..5)];
[INFO] [stdout]      |                                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/doc.rs:1299:62
[INFO] [stdout]      |
[INFO] [stdout] 1299 |         let expected = vec![(0..1), (1..2), (2..3), (3..4), (4..5)];
[INFO] [stdout]      |                                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/id_set.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 |         Ok(clock..(clock + len))
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/id_set.rs:61:63
[INFO] [stdout]    |
[INFO] [stdout] 61 |             IdRange::Continuous(range) => IdRange::Continuous(0..range.start),
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/id_set.rs:67:34
[INFO] [stdout]    |
[INFO] [stdout] 67 |                         inv.push(start..range.start);
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/id_set.rs:72:46
[INFO] [stdout]    |
[INFO] [stdout] 72 |                     0 => IdRange::Continuous(0..0),
[INFO] [stdout]    |                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 |         IdRange::Continuous(0..0)
[INFO] [stdout]     |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:366:21
[INFO] [stdout]     |
[INFO] [stdout] 366 |         let range = id.clock..(id.clock + len);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:458:34
[INFO] [stdout]     |
[INFO] [stdout] 458 |                     deletes.push(start..end);
[INFO] [stdout]     |                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:752:41
[INFO] [stdout]     |
[INFO] [stdout] 752 |         let mut a = IdRange::Continuous(0..5);
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:753:37
[INFO] [stdout]     |
[INFO] [stdout] 753 |         a.merge(IdRange::Continuous(2..4));
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:754:43
[INFO] [stdout]     |
[INFO] [stdout] 754 |         assert_eq!(a, IdRange::Continuous(0..5));
[INFO] [stdout]     |                                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:757:41
[INFO] [stdout]     |
[INFO] [stdout] 757 |         let mut a = IdRange::Continuous(0..5);
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:758:37
[INFO] [stdout]     |
[INFO] [stdout] 758 |         a.merge(IdRange::Continuous(4..9));
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:759:43
[INFO] [stdout]     |
[INFO] [stdout] 759 |         assert_eq!(a, IdRange::Continuous(0..9));
[INFO] [stdout]     |                                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:762:41
[INFO] [stdout]     |
[INFO] [stdout] 762 |         let mut a = IdRange::Continuous(0..5);
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:763:37
[INFO] [stdout]     |
[INFO] [stdout] 763 |         a.merge(IdRange::Continuous(5..9));
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:764:43
[INFO] [stdout]     |
[INFO] [stdout] 764 |         assert_eq!(a, IdRange::Continuous(0..9));
[INFO] [stdout]     |                                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:767:41
[INFO] [stdout]     |
[INFO] [stdout] 767 |         let mut a = IdRange::Continuous(0..4);
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:768:37
[INFO] [stdout]     |
[INFO] [stdout] 768 |         a.merge(IdRange::Continuous(6..9));
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:769:48
[INFO] [stdout]     |
[INFO] [stdout] 769 |         assert_eq!(a, IdRange::Fragmented(vec![0..4, 6..9]));
[INFO] [stdout]     |                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:769:54
[INFO] [stdout]     |
[INFO] [stdout] 769 |         assert_eq!(a, IdRange::Fragmented(vec![0..4, 6..9]));
[INFO] [stdout]     |                                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:774:47
[INFO] [stdout]     |
[INFO] [stdout] 774 |         let mut r = IdRange::Fragmented(vec![(0..3), (3..5), (6..7)]);
[INFO] [stdout]     |                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:774:55
[INFO] [stdout]     |
[INFO] [stdout] 774 |         let mut r = IdRange::Fragmented(vec![(0..3), (3..5), (6..7)]);
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:774:63
[INFO] [stdout]     |
[INFO] [stdout] 774 |         let mut r = IdRange::Fragmented(vec![(0..3), (3..5), (6..7)]);
[INFO] [stdout]     |                                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:776:49
[INFO] [stdout]     |
[INFO] [stdout] 776 |         assert_eq!(r, IdRange::Fragmented(vec![(0..5), (6..7)]));
[INFO] [stdout]     |                                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:776:57
[INFO] [stdout]     |
[INFO] [stdout] 776 |         assert_eq!(r, IdRange::Fragmented(vec![(0..5), (6..7)]));
[INFO] [stdout]     |                                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:781:37
[INFO] [stdout]     |
[INFO] [stdout] 781 |         assert!(IdRange::Continuous(0..3).invert().is_empty());
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:784:33
[INFO] [stdout]     |
[INFO] [stdout] 784 |             IdRange::Continuous(3..5).invert(),
[INFO] [stdout]     |                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:785:33
[INFO] [stdout]     |
[INFO] [stdout] 785 |             IdRange::Continuous(0..3)
[INFO] [stdout]     |                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:789:38
[INFO] [stdout]     |
[INFO] [stdout] 789 |             IdRange::Fragmented(vec![0..3, 4..5]).invert(),
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:789:44
[INFO] [stdout]     |
[INFO] [stdout] 789 |             IdRange::Fragmented(vec![0..3, 4..5]).invert(),
[INFO] [stdout]     |                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:790:33
[INFO] [stdout]     |
[INFO] [stdout] 790 |             IdRange::Continuous(3..4)
[INFO] [stdout]     |                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:794:38
[INFO] [stdout]     |
[INFO] [stdout] 794 |             IdRange::Fragmented(vec![3..4, 7..9]).invert(),
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:794:44
[INFO] [stdout]     |
[INFO] [stdout] 794 |             IdRange::Fragmented(vec![3..4, 7..9]).invert(),
[INFO] [stdout]     |                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:795:38
[INFO] [stdout]     |
[INFO] [stdout] 795 |             IdRange::Fragmented(vec![0..3, 4..7])
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:795:44
[INFO] [stdout]     |
[INFO] [stdout] 795 |             IdRange::Fragmented(vec![0..3, 4..7])
[INFO] [stdout]     |                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:801:38
[INFO] [stdout]     |
[INFO] [stdout] 801 |         assert!(!IdRange::Continuous(1..3).contains(0));
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:802:37
[INFO] [stdout]     |
[INFO] [stdout] 802 |         assert!(IdRange::Continuous(1..3).contains(1));
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:803:37
[INFO] [stdout]     |
[INFO] [stdout] 803 |         assert!(IdRange::Continuous(1..3).contains(2));
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:804:38
[INFO] [stdout]     |
[INFO] [stdout] 804 |         assert!(!IdRange::Continuous(1..3).contains(3));
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:806:43
[INFO] [stdout]     |
[INFO] [stdout] 806 |         assert!(!IdRange::Fragmented(vec![1..3, 4..5]).contains(0));
[INFO] [stdout]     |                                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:806:49
[INFO] [stdout]     |
[INFO] [stdout] 806 |         assert!(!IdRange::Fragmented(vec![1..3, 4..5]).contains(0));
[INFO] [stdout]     |                                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:807:42
[INFO] [stdout]     |
[INFO] [stdout] 807 |         assert!(IdRange::Fragmented(vec![1..3, 4..5]).contains(1));
[INFO] [stdout]     |                                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:807:48
[INFO] [stdout]     |
[INFO] [stdout] 807 |         assert!(IdRange::Fragmented(vec![1..3, 4..5]).contains(1));
[INFO] [stdout]     |                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:808:42
[INFO] [stdout]     |
[INFO] [stdout] 808 |         assert!(IdRange::Fragmented(vec![1..3, 4..5]).contains(2));
[INFO] [stdout]     |                                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:808:48
[INFO] [stdout]     |
[INFO] [stdout] 808 |         assert!(IdRange::Fragmented(vec![1..3, 4..5]).contains(2));
[INFO] [stdout]     |                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:809:43
[INFO] [stdout]     |
[INFO] [stdout] 809 |         assert!(!IdRange::Fragmented(vec![1..3, 4..5]).contains(3));
[INFO] [stdout]     |                                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:809:49
[INFO] [stdout]     |
[INFO] [stdout] 809 |         assert!(!IdRange::Fragmented(vec![1..3, 4..5]).contains(3));
[INFO] [stdout]     |                                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:810:42
[INFO] [stdout]     |
[INFO] [stdout] 810 |         assert!(IdRange::Fragmented(vec![1..3, 4..5]).contains(4));
[INFO] [stdout]     |                                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:810:48
[INFO] [stdout]     |
[INFO] [stdout] 810 |         assert!(IdRange::Fragmented(vec![1..3, 4..5]).contains(4));
[INFO] [stdout]     |                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:811:43
[INFO] [stdout]     |
[INFO] [stdout] 811 |         assert!(!IdRange::Fragmented(vec![1..3, 4..5]).contains(5));
[INFO] [stdout]     |                                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:811:49
[INFO] [stdout]     |
[INFO] [stdout] 811 |         assert!(!IdRange::Fragmented(vec![1..3, 4..5]).contains(5));
[INFO] [stdout]     |                                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:812:43
[INFO] [stdout]     |
[INFO] [stdout] 812 |         assert!(!IdRange::Fragmented(vec![1..3, 4..5]).contains(6));
[INFO] [stdout]     |                                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:812:49
[INFO] [stdout]     |
[INFO] [stdout] 812 |         assert!(!IdRange::Fragmented(vec![1..3, 4..5]).contains(6));
[INFO] [stdout]     |                                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:817:45
[INFO] [stdout]     |
[INFO] [stdout] 817 |         let mut range = IdRange::Continuous(0..0);
[INFO] [stdout]     |                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:819:20
[INFO] [stdout]     |
[INFO] [stdout] 819 |         range.push(0..4);
[INFO] [stdout]     |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:820:47
[INFO] [stdout]     |
[INFO] [stdout] 820 |         assert_eq!(range, IdRange::Continuous(0..4));
[INFO] [stdout]     |                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:822:20
[INFO] [stdout]     |
[INFO] [stdout] 822 |         range.push(4..6);
[INFO] [stdout]     |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:823:47
[INFO] [stdout]     |
[INFO] [stdout] 823 |         assert_eq!(range, IdRange::Continuous(0..6));
[INFO] [stdout]     |                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:825:20
[INFO] [stdout]     |
[INFO] [stdout] 825 |         range.push(7..9);
[INFO] [stdout]     |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:826:52
[INFO] [stdout]     |
[INFO] [stdout] 826 |         assert_eq!(range, IdRange::Fragmented(vec![0..6, 7..9]));
[INFO] [stdout]     |                                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:826:58
[INFO] [stdout]     |
[INFO] [stdout] 826 |         assert_eq!(range, IdRange::Fragmented(vec![0..6, 7..9]));
[INFO] [stdout]     |                                                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:831:40
[INFO] [stdout]     |
[INFO] [stdout] 831 |         roundtrip(&IdRange::Continuous(0..4));
[INFO] [stdout]     |                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:832:45
[INFO] [stdout]     |
[INFO] [stdout] 832 |         roundtrip(&IdRange::Fragmented(vec![1..4, 5..8]));
[INFO] [stdout]     |                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/id_set.rs:832:51
[INFO] [stdout]     |
[INFO] [stdout] 832 |         roundtrip(&IdRange::Fragmented(vec![1..4, 5..8]));
[INFO] [stdout]     |                                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/store.rs:170:22
[INFO] [stdout]     |
[INFO] [stdout] 170 |             for i in 0..last_idx {
[INFO] [stdout]     |                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/store.rs:222:22
[INFO] [stdout]     |
[INFO] [stdout] 222 |             for i in (start + 1)..blocks.len() {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypeRef`
[INFO] [stdout]  --> src/transaction.rs:8:74
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::types::{Branch, BranchPtr, Event, Events, SharedRef, TypePtr, TypeRef, Value};
[INFO] [stdout]   |                                                                          ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/types/array.rs:868:18
[INFO] [stdout]     |
[INFO] [stdout] 868 |         for i in 0..10 {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/types/array.rs:1093:36
[INFO] [stdout]      |
[INFO] [stdout] 1093 |             let content: Vec<_> = (0..len)
[INFO] [stdout]      |                                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]     --> src/types/array.rs:1118:41
[INFO] [stdout]      |
[INFO] [stdout] 1118 |             let expected: Arc<[Any]> = (1..=4).map(|i| Any::Number(i as f64)).collect();
[INFO] [stdout]      |                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/types/array.rs:1149:43
[INFO] [stdout]      |
[INFO] [stdout] 1149 |                         old_content.drain(pos as usize..(pos + del_len) as usize);
[INFO] [stdout]      |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/types/array.rs:1596:22
[INFO] [stdout]      |
[INFO] [stdout] 1596 |             for _ in 0..10 {
[INFO] [stdout]      |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/types/array.rs:1609:22
[INFO] [stdout]      |
[INFO] [stdout] 1609 |             for _ in 0..10 {
[INFO] [stdout]      |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/types/map.rs:1019:22
[INFO] [stdout]      |
[INFO] [stdout] 1019 |             for _ in 0..10 {
[INFO] [stdout]      |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/types/map.rs:1032:22
[INFO] [stdout]      |
[INFO] [stdout] 1032 |             for _ in 0..10 {
[INFO] [stdout]      |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/types/text.rs:577:53
[INFO] [stdout]     |
[INFO] [stdout] 577 | ...                   let slice = &s.as_str()[start_offset as usize..];
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/types/text.rs:2449:22
[INFO] [stdout]      |
[INFO] [stdout] 2449 |             for _ in 0..10 {
[INFO] [stdout]      |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/types/text.rs:2462:22
[INFO] [stdout]      |
[INFO] [stdout] 2462 |             for _ in 0..10 {
[INFO] [stdout]      |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypeRef`
[INFO] [stdout]   --> src/update.rs:10:29
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::types::{TypePtr, TypeRef};
[INFO] [stdout]    |                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/update.rs:517:22
[INFO] [stdout]     |
[INFO] [stdout] 517 |             for i in 1..blocks.len() {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/update.rs:712:18
[INFO] [stdout]     |
[INFO] [stdout] 712 |         for _ in 0..clients_len {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/update.rs:722:22
[INFO] [stdout]     |
[INFO] [stdout] 722 |             for _ in 0..blocks_len {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/updates/decoder.rs:188:29
[INFO] [stdout]     |
[INFO] [stdout] 188 |         Ok(&self.cursor.buf[self.cursor.next..])
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/updates/decoder.rs:227:23
[INFO] [stdout]     |
[INFO] [stdout] 227 |             buf: &buf[idx..],
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/updates/decoder.rs:268:30
[INFO] [stdout]     |
[INFO] [stdout] 268 |             let slice = &buf[start..end];
[INFO] [stdout]     |                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/updates/decoder.rs:365:29
[INFO] [stdout]     |
[INFO] [stdout] 365 |         Ok(&self.cursor.buf[self.cursor.next..])
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/updates/decoder.rs:489:31
[INFO] [stdout]     |
[INFO] [stdout] 489 |         let start = &self.buf[self.pos..];
[INFO] [stdout]     |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/any.rs:64:26
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 for _ in 0..len {
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/any.rs:74:26
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 for _ in 0..len {
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/block_iter.rs:387:71
[INFO] [stdout]     |
[INFO] [stdout] 387 | ...                   .read(self.rel as usize, &mut buf[read as usize..])
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/encoding/read.rs:50:35
[INFO] [stdout]    |
[INFO] [stdout] 50 |             let slice = &self.buf[self.next..(self.next + len)];
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/encoding/mod.rs:27:54
[INFO] [stdout]    |
[INFO] [stdout] 27 |                 prop::collection::vec(inner.clone(), 0..10).prop_map(Any::from),
[INFO] [stdout]    |                                                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/encoding/mod.rs:28:57
[INFO] [stdout]    |
[INFO] [stdout] 28 |                 prop::collection::hash_map(".*", inner, 0..10).prop_map(Any::from),
[INFO] [stdout]    |                                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/moving.rs:818:18
[INFO] [stdout]     |
[INFO] [stdout] 818 |         for i in 0..len {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/test_utils.rs:17:14
[INFO] [stdout]    |
[INFO] [stdout] 17 |     for i in 0..docs.len() {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/test_utils.rs:18:18
[INFO] [stdout]    |
[INFO] [stdout] 18 |         for j in 0..docs.len() {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/test_utils.rs:48:14
[INFO] [stdout]    |
[INFO] [stdout] 48 |     for _ in 0..iterations {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/test_utils.rs:101:26
[INFO] [stdout]     |
[INFO] [stdout] 101 |         for client_id in 0..peer_num {
[INFO] [stdout]     |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/test_utils.rs:428:18
[INFO] [stdout]     |
[INFO] [stdout] 428 |         for i in 0..(inner.peers.len() - 1) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tests/compatibility_tests.rs:435:21
[INFO] [stdout]     |
[INFO] [stdout] 435 |     for test_num in 0..test_count {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tests/compatibility_tests.rs:441:18
[INFO] [stdout]     |
[INFO] [stdout] 441 |         for _ in 0..updates_len {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/tests/edit_traces.rs:72:46
[INFO] [stdout]    |
[INFO] [stdout] 72 | ...                   r.remove(*pos_chars..*pos_chars + *del_chars);
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/undo.rs:137:48
[INFO] [stdout]     |
[INFO] [stdout] 137 |             for item in inner.redo_stack.drain(0..len) {
[INFO] [stdout]     |                                                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/undo.rs:302:45
[INFO] [stdout]     |
[INFO] [stdout] 302 |         for item in self.0.undo_stack.drain(0..len) {
[INFO] [stdout]     |                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/undo.rs:307:45
[INFO] [stdout]     |
[INFO] [stdout] 307 |         for item in self.0.redo_stack.drain(0..len) {
[INFO] [stdout]     |                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `left` is never read
[INFO] [stdout]    --> src/block.rs:153:17
[INFO] [stdout]     |
[INFO] [stdout] 153 |         let mut left = None;
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ptr`
[INFO] [stdout]    --> src/block.rs:630:33
[INFO] [stdout]     |
[INFO] [stdout] 630 | ...                   let ptr = if this.info.is_deleted() {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_ptr`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `prev_start` is assigned to, but never used
[INFO] [stdout]    --> src/id_set.rs:171:29
[INFO] [stdout]     |
[INFO] [stdout] 171 |                     let mut prev_start = r.start;
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_prev_start` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `prev_start` is never read
[INFO] [stdout]    --> src/id_set.rs:177:25
[INFO] [stdout]     |
[INFO] [stdout] 177 |                         prev_start = r.start;
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/array.rs:158:31
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn len<T: ReadTxn>(&self, txn: &T) -> u32 {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/map.rs:136:31
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn len<T: ReadTxn>(&self, txn: &T) -> u32 {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/map.rs:227:40
[INFO] [stdout]     |
[INFO] [stdout] 227 |     fn contains_key<T: ReadTxn>(&self, txn: &T, key: &str) -> bool {
[INFO] [stdout]     |                                        ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/text.rs:130:38
[INFO] [stdout]     |
[INFO] [stdout] 130 |     fn get_string<T: ReadTxn>(&self, txn: &T) -> String {
[INFO] [stdout]     |                                      ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/text.rs:170:31
[INFO] [stdout]     |
[INFO] [stdout] 170 |     fn len<T: ReadTxn>(&self, txn: &T) -> u32 {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/text.rs:408:29
[INFO] [stdout]     |
[INFO] [stdout] 408 |     fn diff<T, D, F>(&self, txn: &T, compute_ychange: F) -> Vec<Diff<D>>
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/xml.rs:469:38
[INFO] [stdout]     |
[INFO] [stdout] 469 |     fn get_string<T: ReadTxn>(&self, txn: &T) -> String {
[INFO] [stdout]     |                                      ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/xml.rs:817:31
[INFO] [stdout]     |
[INFO] [stdout] 817 |     fn len<T: ReadTxn>(&self, txn: &T) -> u32 {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn`
[INFO] [stdout]    --> src/types/xml.rs:875:31
[INFO] [stdout]     |
[INFO] [stdout] 875 |     fn get<T: ReadTxn>(&self, txn: &T, index: u32) -> Option<XmlNode> {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_txn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_ref`
[INFO] [stdout]    --> src/types/mod.rs:259:17
[INFO] [stdout]     |
[INFO] [stdout] 259 |             let type_ref = self.type_ref();
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `branch`
[INFO] [stdout]    --> src/update.rs:351:39
[INFO] [stdout]     |
[INFO] [stdout] 351 |                     ItemContent::Type(branch) => {
[INFO] [stdout]     |                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytes_v2`
[INFO] [stdout]     --> src/update.rs:1233:13
[INFO] [stdout]      |
[INFO] [stdout] 1233 |         let bytes_v2 = update_v1.encode_v2();
[INFO] [stdout]      |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes_v2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `read`
[INFO] [stdout]    --> src/iter.rs:511:21
[INFO] [stdout]     |
[INFO] [stdout] 511 |                 let read = item.content.read(slice.start as usize, b.as_mut_slice());
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `try_trim`, `is_deleted`, `is_countable`, `contains_id`, `right`, and `left` are never used
[INFO] [stdout]    --> src/block.rs:833:12
[INFO] [stdout]     |
[INFO] [stdout] 811 | impl BlockSlice {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 833 |     pub fn try_trim(&mut self, from: &ID, to: &ID) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 874 |     pub fn is_deleted(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 879 |     pub fn is_countable(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 884 |     pub fn contains_id(&self, id: &ID) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 960 |     pub fn right(&self) -> Option<BlockSlice> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 983 |     pub fn left(&self) -> Option<BlockSlice> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `contains` is never used
[INFO] [stdout]    --> src/block_store.rs:385:12
[INFO] [stdout]     |
[INFO] [stdout] 370 | impl BlockStore {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 385 |     pub fn contains(&self, id: &ID) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/block_store.rs:543:8
[INFO] [stdout]     |
[INFO] [stdout] 542 | impl<'a> Blocks<'a> {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 543 |     fn new(update: &'a BlockStore) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `link` and `unlink` are never used
[INFO] [stdout]    --> src/transaction.rs:969:8
[INFO] [stdout]     |
[INFO] [stdout] 292 | impl<'doc> TransactionMut<'doc> {
[INFO] [stdout]     | ------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 969 |     fn link(&mut self, mut source: BlockPtr, link: BranchPtr) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 977 |     pub(crate) fn unlink(&mut self, mut source: BlockPtr, link: BranchPtr) {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `remove_at` is never used
[INFO] [stdout]    --> src/types/mod.rs:615:19
[INFO] [stdout]     |
[INFO] [stdout] 458 | impl Branch {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 615 |     pub(crate) fn remove_at(&self, txn: &mut TransactionMut, index: u32, len: u32) -> u32 {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from` is never used
[INFO] [stdout]     --> src/types/mod.rs:1064:12
[INFO] [stdout]      |
[INFO] [stdout] 1060 | / impl<'a, T: ReadTxn> Entries<'a, T, T>
[INFO] [stdout] 1061 | | where
[INFO] [stdout] 1062 | |     T: Borrow<T> + ReadTxn,
[INFO] [stdout]      | |___________________________- associated function in this implementation
[INFO] [stdout] 1063 |   {
[INFO] [stdout] 1064 |       pub fn from(source: &'a HashMap<Arc<str>, BlockPtr>, txn: T) -> Self {
[INFO] [stdout]      |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_empty` is never used
[INFO] [stdout]   --> src/update.rs:98:19
[INFO] [stdout]    |
[INFO] [stdout] 93 | impl Update {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub(crate) fn is_empty(&self) -> bool {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into_block` is never used
[INFO] [stdout]    --> src/update.rs:842:12
[INFO] [stdout]     |
[INFO] [stdout] 777 | impl BlockCarrier {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 842 |     pub fn into_block(self) -> Option<Box<Block>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `move_to`, `forward`, `backward`, and `values` are never used
[INFO] [stdout]    --> src/block_iter.rs:73:12
[INFO] [stdout]     |
[INFO] [stdout] 23  | impl BlockIter {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 73  |     pub fn move_to(&mut self, index: u32, txn: &mut TransactionMut) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99  |     pub fn forward<T: ReadTxn>(&mut self, txn: &T, len: u32) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn backward<T: ReadTxn>(&mut self, txn: &mut T, mut len: u32) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 521 |     pub fn values<'a, 'txn, T: ReadTxn>(
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/block_iter.rs:535:8
[INFO] [stdout]     |
[INFO] [stdout] 534 | impl<'a, 'txn> Values<'a, 'txn> {
[INFO] [stdout]     | ------------------------------- associated function in this implementation
[INFO] [stdout] 535 |     fn new(iter: &'a mut BlockIter, txn: &'txn mut TransactionMut<'txn>) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `rng`, `get`, `connect`, `disconnect_all`, and `peers` are never used
[INFO] [stdout]    --> src/test_utils.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 87  | impl TestConnector {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn rng(&self) -> RefMut<StdRng> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn get(&self, client_id: &ClientID) -> Option<&TestPeer> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn connect(&self, client_id: ClientID) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 236 |     pub fn disconnect_all(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 440 |     pub fn peers(&self) -> Peers {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `doc_mut` is never used
[INFO] [stdout]    --> src/test_utils.rs:480:12
[INFO] [stdout]     |
[INFO] [stdout] 463 | impl TestPeer {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 480 |     pub fn doc_mut(&mut self) -> &mut Doc {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `len`, `is_empty`, `chars_to_bytes`, and `patches` are never used
[INFO] [stdout]   --> src/tests/edit_traces.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl TestData {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 38 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn chars_to_bytes(&self) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn patches(&self) -> impl Iterator<Item = &TestPatch> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/block_iter.rs:438:12
[INFO] [stdout]     |
[INFO] [stdout] 438 |         if len < 0 {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 144 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "caced646cd1e775b846520d9cb5e437922989b9fc3c9b711942e92bacb08661c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "caced646cd1e775b846520d9cb5e437922989b9fc3c9b711942e92bacb08661c", kill_on_drop: false }`
[INFO] [stdout] caced646cd1e775b846520d9cb5e437922989b9fc3c9b711942e92bacb08661c
